home *** CD-ROM | disk | FTP | other *** search
INI File | 1996-06-19 | 19.1 KB | 576 lines |
- ;-----------------------------------------------------------------------
- ; OPTION TYPE
- ; -----------
- ; This identifies the Option type we are dealing with. The different
- ; possible types are:
- ;
- ; COMPUTER, VIDEO, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
- ;-----------------------------------------------------------------------
-
- [Identification]
- OptionType = VIDEO40BETA
-
- ;-----------------------------------------------------------------------
- ; LANGUAGES SUPPORTED
- ; -------------------
- ;
- ; The languages supported by the OEM INF, For every language supported
- ; we need to have a separate text section for every displayable text
- ; section.
- ;
- ;-----------------------------------------------------------------------
-
- [LanguagesSupported]
- ENG
-
- ;-----------------------------------------------------------------------
- ; OPTION LIST
- ; -----------
- ; This section lists the OEM Option key names. These keys are locale
- ; independent and used to represent the option in a locale independent
- ; manner.
- ;
- ;-----------------------------------------------------------------------
-
- ;
- ; Option list order: Option = Miniport driver, BitsPerPel, XResolution, YResolution, VRefresh, Interlaced
- ;
- ; If you don't want to create a VRefresh or Interlaced value under the service
- ; parameters then use the value ""
- ;
-
- [Options]
- "SPEA MIRAGE 640x 480x 8" = bignt40o, 8, 640, 480, 60, ""
-
- ;
- ; This maps detected options into the options we support
- ;
- ; Format: DetectedOption = MappedOption
- ;
-
- [MapOfOptions]
- "VGA" = "VGA"
- "COMPAQ AVGA" = "VGA"
- "COMPAQ AGB" = "VGA"
- "8514 MONITOR UNKNOWN" = "VGA"
- "8514 VGA MONITOR" = "VGA"
- "8514 8503 MONO" = "VGA"
- "8514 8514 GAD" = "VGA"
- "GENOA VGA" = "VGA"
- "VIDEO7 VGA DRAM" = "VIDEO7 VGA VRAM 640x480x4"
- "VIDEO7 VGA VRAM" = "VIDEO7 VGA VRAM 640x480x4"
- "TRIDENT VGA" = "VGA"
- "TRIDENT VGA 9100" = "VGA"
- "PARADISE VGA" = "VGA"
- "PARADISE VGA PROM" = "VGA"
- "PARADISE VGA CHIP 1F" = "VGA"
- "ATI VGA" = "VGA"
- "ATI VGA WONDDER3" = "VGA"
- "TSENGLAB VGA ET3000" = "VGA"
- "TSENGLAB VGA ET4000" = "TSENGLAB VGA ET4000 640x480x4x60"
- "CIRRUS VGA" = "VGA"
- "CIRRUS VGA 610-620 REVC" = "VGA"
- "XGA" = "XGA 640x480x8"
- "DELL DGX" = "DELL DGX 640x480x8"
- "S3 VGA" = "S3 VGA 640x480x8"
- "PRODESIGNER II" = "TSENGLAB VGA ET4000 640x480x4x60"
-
-
- ;
- ; Order of the information:
- ;
- ; Port driver = Type, Group, ErrorControl, Tag, InstalledDisplay, VgaCompatible( 0/1 ), EventMessageFile, TypesSupported
- ;
-
- [MiniportDrivers]
- bignt40o = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_NORMAL, 11, {bignt40o}, 0 , %SystemRoot%\System32\IoLogMsg.dll , 7
-
-
- ;-----------------------------------------------------------------------
- ; OPTION TEXT SECTION
- ; -------------------
- ; These are text strings used to identify the option to the user. There
- ; are separate sections for each language supported. The format of the
- ; section name is "OptionsText" concatenated with the Language represented
- ; by the section.
- ;
- ;-----------------------------------------------------------------------
-
- [OptionsTextENG]
- "SPEA MIRAGE 640x 480x 8" = "SPEA V7-MIRAGE 640x 480, 256 colors"
-
- ;---------------------------------------------------------------------------
- ; 1. Identify
- ;
- ; DESCRIPTION: To verify that this INF deals with the same type of options
- ; as we are choosing currently.
- ;
- ; INPUT: None
- ;
- ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL
- ; $($R1): Option Type (COMPUTER ...)
- ; $($R2): Diskette description
- ;---------------------------------------------------------------------------
-
- [Identify]
- ;
- ;
- read-syms Identification
-
- set Status = STATUS_SUCCESSFUL
- set Identifier = $(OptionType)
- set Media = #("Source Media Descriptions", 1, 1)
-
- Return $(Status) $(Identifier) $(Media)
-
-
-
- ;------------------------------------------------------------------------
- ; 2. ReturnOptions:
- ;
- ; DESCRIPTION: To return the option list supported by this INF and the
- ; localised text list representing the options.
- ;
- ;
- ; INPUT: $($0): Language used. ( ENG | FRN | ... )
- ;
- ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
- ; STATUS_NOLANGUAGE
- ; STATUS_FAILED
- ;
- ; $($R1): Option List
- ; $($R2): Option Text List
- ;------------------------------------------------------------------------
-
- [ReturnOptions]
- ;
- ;
- set Status = STATUS_FAILED
- set OptionList = {}
- set OptionTextList = {}
-
- ;
- ; Check if the language requested is supported
- ;
- set LanguageList = ^(LanguagesSupported, 1)
- Ifcontains(i) $($0) in $(LanguageList)
- goto returnoptions
- else
- set Status = STATUS_NOLANGUAGE
- goto finish_ReturnOptions
- endif
-
- ;
- ; form a list of all the options and another of the text representing
- ;
-
- returnoptions = +
- set OptionList = ^(Options, 0)
- set OptionTextList = ^(OptionsText$($0), 1)
- set Status = STATUS_SUCCESSFUL
-
- finish_ReturnOptions = +
- Return $(Status) $(OptionList) $(OptionTextList)
-
-
-
- ;---------------------------------------------------------------------------
- ; MapToSupportedOption
- ;
- ; DESCRIPTION: To map a hardware detected option to the NT Supported
- ; option which represents it.
- ;
- ; INPUT: $($0): Option
- ;
- ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL
- ; $($R1): Mapped Option
- ;
- ;---------------------------------------------------------------------------
-
- [MapToSupportedOption]
- ;
- set Status = STATUS_FAILED
- set MappedOption = $($0)
-
- ;
- ; If the option is one we can support using one of our standard options
- ; then map it to the standard option else map it to the default option
- ; which is VGA.
- ;
-
- set OptionList = ^(MapOfOptions, 0)
- ifcontains $($0) in $(OptionList)
- set MappedOption = #(MapOfOptions, $($0), 1)
- else
- set MappedOption = "VGA"
- endif
-
- set Status = STATUS_SUCCESSFUL
- Return $(Status) $(MappedOption)
-
-
-
- [ServicesEntry]
- CurrentEntry = "" ? $(!LIBHANDLE) GetDevicemapValue Video \Device\Video0
-
-
- ;
- ; InstallOption:
- ;
- ; FUNCTION: To copy files representing Options
- ; To configure the installed option
- ; To update the registry for the installed option
- ;
- ; INPUT: $($0): Language to use
- ; $($1): OptionID to install
- ; $($2): SourceDirectory
- ; $($3): AddCopy (YES | NO)
- ; $($4): DoCopy (YES | NO)
- ; $($5): DoConfig (YES | NO)
- ;
- ; OUTPUT: $($R0): STATUS: STATUS_SUCCESSFUL |
- ; STATUS_NOLANGUAGE |
- ; STATUS_USERCANCEL |
- ; STATUS_FAILED
- ;
-
- [InstallOption]
-
- ;
- ; Set default values for
- ;
- set Status = STATUS_FAILED
- set DrivesToFree = {}
-
- ;
- ; extract parameters
- ;
- set Option = $($1)
- set SrcDir = $($2)
- set AddCopy = $($3)
- set DoCopy = $($4)
- set DoConfig = $($5)
-
- ;
- ; Check if the language requested is supported
- ;
- set LanguageList = ^(LanguagesSupported, 1)
- Ifcontains(i) $($0) in $(LanguageList)
- else
- set Status = STATUS_NOLANGUAGE
- goto finish_InstallOption
- endif
- read-syms Strings$($0)
-
- ;
- ; check to see if Option is supported.
- ;
-
- set OptionList = ^(Options, 0)
- ifcontains $(Option) in $(OptionList)
- else
- goto finish_InstallOption
- endif
- set OptionList = ""
-
- ;
- ; Option has been defined already
- ;
- set MiniportDriver = #(Options, $(Option), 1)
- set BitsPerPel = #(Options, $(Option), 2)
- set XResolution = #(Options, $(Option), 3)
- set YResolution = #(Options, $(Option), 4)
- set VRefresh = #(Options, $(Option), 5)
- set Interlaced = #(Options, $(Option), 6)
-
- set Type = $(#(MiniportDrivers, $(MiniportDriver), 1))
- set Group = #(MiniportDrivers, $(MiniportDriver), 2)
- set ErrorControl = $(#(MiniportDrivers, $(MiniportDriver), 3))
- set Tag = #(MiniportDrivers, $(MiniportDriver), 4)
- set InstalledDisplays = #(MiniportDrivers, $(MiniportDriver), 5)
- set VgaCompatible = #(MiniportDrivers, $(MiniportDriver), 6)
- set EventMessageFile = #(MiniportDrivers, $(MiniportDriver), 7)
- set TypesSupported = #(MiniportDrivers, $(MiniportDriver), 8)
-
- read-syms ServicesEntry
- detect ServicesEntry
-
- installtheoption = +
-
- ;
- ; Code to add files to copy list
- ;
-
- ifstr(i) $(AddCopy) == "YES"
- set DoActualCopy = NO
- set FileToCheck = #(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
- LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
- ifstr(i) $(STATUS) == NO
- set DoActualCopy = YES
- goto addfiles
- endif
- ForListDo $(InstalledDisplays)
- set FileToCheck = #(Files-DisplayDLLs, $($), 2)
- LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
- ifstr(i) $(STATUS) == NO
- set DoActualCopy = YES
- endif
- EndForListDo
-
- addfiles = +
- ifstr(i) $(DoActualCopy) == NO
- shell "subroutn.inf" DriversExist $($0) $(String1)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "VIDEO.INF: shelling DriversExist failed"
- goto finish_InstallOption
- endif
-
- ifstr(i) $($R0) == STATUS_CURRENT
- else-ifstr(i) $($R0) == STATUS_NEW
- set DoActualCopy = YES
- else-ifstr(i) $($R0) == STATUS_USERCANCEL
- Debug-Output "VIDEO.INF: User cancelled video installation"
- goto finish_InstallOption
- else
- Debug-Output "VIDEO.INF: Error reported in DriversExist routine in SUBROUTN.INF"
- goto finish_InstallOption
- endif
- endif
-
- ifstr(i) $(DoActualCopy) == YES
-
- shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "VIDEO.INF: shelling DoAskSourceEx failed"
- goto finish_InstallOption
- endif
-
- ifstr(i) $($R0) == STATUS_SUCCESSFUL
- set SrcDir = $($R1)
- ifstr(i) $($R2) != ""
- set DrivesToFree = >($(DrivesToFree), $($R2))
- endif
- else
- Debug-Output "VIDEO.INF: User cancelled asking source."
- goto finish_InstallOption
- endif
-
- install Install-AddCopyOption
- ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
- Debug-Output "VIDEO.INF: Adding video files to copy list failed"
- goto finish_InstallOption
- endif
- else
- set DoCopy = NO
- endif
-
- endif
-
- ifstr(i) $(DoCopy) == "YES"
- read-syms ProgressCopy$($0)
- install Install-DoCopyOption
- ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
- Debug-Output "Copying files failed"
- goto finish_InstallOption
- else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
- set Status = STATUS_USERCANCEL
- goto finish_InstallOption
- endif
- endif
-
- ifstr(i) $(DoConfig) == "YES"
-
- ;
- ; first run a privilege check on modifying the setup node
- ;
-
- shell "registry.inf" CheckSetupModify
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto finish_InstallOption
- endif
-
- ifstr(i) $($R0) != STATUS_SUCCESSFUL
- goto finish_InstallOption
- endif
-
- ;
- ; first make a new video entry, the entry is created automatically
- ; enabled
- ;
-
- set ServiceNode = $(MiniportDriver)
- set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
-
- set ServicesValues = { +
- {Type, 0, $(!REG_VT_DWORD), $(Type) }, +
- {Start, 0, $(!REG_VT_DWORD), $(!SERVICE_SYSTEM_START) }, +
- {Group, 0, $(!REG_VT_SZ), $(Group) }, +
- {ErrorControl, 0, $(!REG_VT_DWORD), $(ErrorControl) }, +
- {Tag, 0, $(!REG_VT_DWORD), $(Tag) }, +
- {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary) } +
- }
-
- set DeviceDescription = "SPEA V7-MIRAGE"
- set ParametersValues = { +
- {"Device Description", 0, $(!REG_VT_SZ), $(DeviceDescription) }, +
- {InstalledDisplayDrivers, 0, $(!REG_VT_MULTI_SZ), $(InstalledDisplays) }, +
- {VgaCompatible, 0, $(!REG_VT_DWORD), $(VgaCompatible) }, +
- {DefaultSettings.BitsPerPel, 0, $(!REG_VT_DWORD), $(BitsPerPel) }, +
- {DefaultSettings.XResolution, 0, $(!REG_VT_DWORD), $(XResolution) }, +
- {DefaultSettings.YResolution, 0, $(!REG_VT_DWORD), $(YResolution) }, +
- {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh) } +
- }
-
- ifstr(i) $(VRefresh) != ""
- set VRefreshValue = {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh)}
- set ParametersValue = >($(ParametersValue), $(VRefreshValue))
- endif
-
- ifstr(i) $(Interlaced) != ""
- set InterlacedValue = {DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced)}
- set ParametersValue = >($(ParametersValue), $(InterlacedValue))
- endif
-
- set DeviceValues = {}
- set EventLogValues = { +
- {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
- {TypesSupported, 0, $(!REG_VT_DWORD), $(TypesSupported) } +
- }
-
- shell "registry.inf" MakeServicesEntry $(ServiceNode) +
- $(ServicesValues) +
- $(ParametersValues) +
- $(DeviceValues) +
- $(EventLogValues) +
- Device0
-
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
- goto finish_InstallOption
- endif
-
- ifstr(i) $($R0) != STATUS_SUCCESSFUL
- Debug-Output "MakeServicesEntry failed for video"
- goto finish_InstallOption
- endif
-
- ;
- ;
- ; then disable the previous video entry
- ;
-
- ifstr(i) $(CurrentEntry) != $(MiniportDriver)
- ifstr(i) $(CurrentEntry) != VGA
- ifstr(i) $(CurrentEntry) != ""
- shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_DISABLED)
-
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "Couldn't find DisableServicesEntry in registry.inf"
- goto errorconfig
- endif
-
- ifstr(i) $($R0) != STATUS_SUCCESSFUL
- Debug-Output "DisableServices entry failed"
- endif
- endif
- endif
- endif
-
- goto configdone
-
- errorconfig = +
- ifstr(i) $(CurrentEntry) != $(MiniportDriver)
- shell "registry.inf" ModifyServicesEntry $(MiniportDriver) $(!SERVICE_DISABLED)
- ifstr(i) $(CurrentEntry) != ""
- shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_SYSTEM_START)
- endif
- endif
- goto finish_InstallOption
-
- configdone = +
-
- endif
-
- set Status = STATUS_SUCCESSFUL
-
- finish_InstallOption = +
- ForListDo $(DrivesToFree)
- LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
- EndForListDo
-
- Return $(Status)
-
-
- [Install-AddCopyOption]
-
- set STF_VITAL = ""
- ;
- ; Add the files to the copy list
- ;
- AddSectionKeyFileToCopyList Files-DisplayMiniportDrivers +
- $(MiniportDriver) +
- $(SrcDir) +
- $(!STF_WINDOWSSYSPATH)\drivers
-
- ForListDo $(InstalledDisplays)
- AddSectionKeyFileToCopyList Files-DisplayDLLs +
- $($) +
- $(SrcDir) +
- $(!STF_WINDOWSSYSPATH)
-
- EndForListDo
-
- exit
-
-
- [Install-DoCopyOption]
-
- ;
- ; Copy files in the copy list
- ;
- CopyFilesInCopyList
- exit
-
- ;**************************************************************************
- ; PROGRESS GUAGE VARIABLES
- ;**************************************************************************
- [ProgressCopyENG]
- ProCaption = "Windows NT Setup"
- ProCancel = "Cancel"
- ProCancelMsg = "Windows NT is not correcly installed. Are you sure you want "+
- "to cancel copying files?"
- ProCancelCap = "Setup Message"
- ProText1 = "Copying:"
- ProText2 = "To:"
-
- [StringsENG]
- String1 = "Display"
- String2 = "Please enter the full path to the OEM Display "+
- "driver files. Then choose Continue."
-
- ;-----------------------------------------------------------------------
- ; SOURCE MEDIA DESCRIPTIONS
- ; -------------------------
- ; The OEM should list all the diskette labels here. The source media
- ; description is used during copy to prompt the user for a diskette
- ; if the source is diskettes.
- ;
- ; Use 1 = "Diskette 1 Label" , TAGFILE = disk1
- ; 2 = "Diskette 2 Label" , TAGFILE = disk2
- ; ...
- ;-----------------------------------------------------------------------
-
- ;--------------------------------------------------------------------
- ; THE SECTIONS BELOW SHOULD BE AUTOMATICALLY GENERATED BY THE EXCEL
- ; SPREAD SHEETS
- ;--------------------------------------------------------------------
-
- [Source Media Descriptions]
- 1 = "SPEA V7-MIRAGE Drivers for Windows NT" , TAGFILE = DISK1
-
- [Files-DisplayDLLs]
- bignt40o = 1,bignt40o.dll , SIZE=96704
-
- [Files-DisplayMiniportDrivers]
- bignt40o = 1,bignt40o.sys , SIZE=113536
-